package com.alks.common.utils.excelUtils;

import com.alks.common.utils.stringUtils.ZStringUtils;
import com.alks.entity.exception.ServiceErrorException;

import java.util.Collection;

public class BizAssertUtils {
    public BizAssertUtils() {
    }

    public static void notNull(Object obj, String errorMsg) {
        if (ZStringUtils.isNull(obj)) {
            fail(errorMsg);
        }

    }

    public static void isNull(Object obj, String errorMsg) {
        if (ZStringUtils.isNotNull(obj)) {
            fail(errorMsg);
        }

    }

    public static void isBlank(CharSequence str, String errorMsg) {
        if (ZStringUtils.isNotBlank(str)) {
            fail(errorMsg);
        }

    }

    public static void notBlank(CharSequence str, String errorMsg) {
        if (ZStringUtils.isBlank(str)) {
            fail(errorMsg);
        }

    }

    public static void isTrue(boolean bool, String errorMsg) {
        if (!bool) {
            fail(errorMsg);
        }

    }

    public static void isFalse(boolean bool, String errorMsg) {
        if (bool) {
            fail(errorMsg);
        }

    }

    public static void notEmpty(Collection<?> coll, String errorMsg) {
        if (ZStringUtils.isEmpty(coll)) {
            fail(errorMsg);
        }

    }

    public static void empty(Collection<?> coll, String errorMsg) {
        if (ZStringUtils.isNotEmpty(coll)) {
            fail(errorMsg);
        }

    }

    private static void fail(String message) {
        throw new ServiceErrorException(ZStringUtils.isNull(message) ? "" : message);
    }
}
